package com.luu.game.service;

import com.luu.game.data.dto.ElfInfoDTO;
import com.luu.game.data.dto.LevelExpDTO;

/**
 * 等级经验服务
 */
public interface LevelExpService {

    /**
     * 新增
     * @param levelExpDTO
     */
    void insertLevel(LevelExpDTO levelExpDTO);

    /**
     * 升级
     * @param userElfId 升级角色精灵id
     * @param exp 升级经验
     */
    void upLevel(Integer userElfId, Double exp);

    /**
     * 判断是否可以升级
     * @param elfInfoDTO
     * @param exp
     * @return
     */
    boolean isUpLevel(ElfInfoDTO elfInfoDTO, Double exp);

    /**
     * 计算战斗经验
     * 公式：敌人lv * 敌人基础经验 / 7
     * @param elfInfoDTO
     * @return
     */
    Double countCombatExp(ElfInfoDTO elfInfoDTO);
}
